<?php

namespace Project\ScrumBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Groupe
 *
 * @ORM\Table(name="groupe")
 * @ORM\Entity
 */
class Groupe
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id_groupe", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $idGroupe;

    /**
     * @var string
     *
     * @ORM\Column(name="nom", type="string", length=45, nullable=true)
     */
    private $nom;

    /**
     * @var \Doctrine\Common\Collections\Collection
     *
     * @ORM\ManyToMany(targetEntity="Utilisateur", mappedBy="groupeGroupe")
     */
    private $utilisateur;

    /**
     * @var \Projet
     *
     * @ORM\ManyToOne(targetEntity="Projet")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="ref_projet", referencedColumnName="id_projet")
     * })
     */
    private $refProjet;

    /**
     * Constructor
     */
    public function __construct()
    {
        $this->utilisateur = new \Doctrine\Common\Collections\ArrayCollection();
    }
    

    /**
     * Get idGroupe
     *
     * @return integer 
     */
    public function getIdGroupe()
    {
        return $this->idGroupe;
    }

    /**
     * Set nom
     *
     * @param string $nom
     * @return Groupe
     */
    public function setNom($nom)
    {
        $this->nom = $nom;
    
        return $this;
    }

    /**
     * Get nom
     *
     * @return string 
     */
    public function getNom()
    {
        return $this->nom;
    }

    /**
     * Add utilisateur
     *
     * @param \Project\ScrumBundle\Entity\Utilisateur $utilisateur
     * @return Groupe
     */
    public function addUtilisateur(\Project\ScrumBundle\Entity\Utilisateur $utilisateur)
    {
        $this->utilisateur[] = $utilisateur;
    
        return $this;
    }

    /**
     * Remove utilisateur
     *
     * @param \Project\ScrumBundle\Entity\Utilisateur $utilisateur
     */
    public function removeUtilisateur(\Project\ScrumBundle\Entity\Utilisateur $utilisateur)
    {
        $this->utilisateur->removeElement($utilisateur);
    }

    /**
     * Get utilisateur
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getUtilisateur()
    {
        return $this->utilisateur;
    }

    /**
     * Set refProjet
     *
     * @param \Project\ScrumBundle\Entity\Projet $refProjet
     * @return Groupe
     */
    public function setRefProjet(\Project\ScrumBundle\Entity\Projet $refProjet = null)
    {
        $this->refProjet = $refProjet;
    
        return $this;
    }

    /**
     * Get refProjet
     *
     * @return \Project\ScrumBundle\Entity\Projet 
     */
    public function getRefProjet()
    {
        return $this->refProjet;
    }
}